﻿using System;
using System.Collections.Generic;
using System.Threading.Tasks;

namespace YaAppoint.DapperRepositories
{
    /// <summary>
    ///  ExamApplyItem 自定义仓储 
    /// </summary>
    public interface IDapperExamApplyItemRepository
    {
        /// <summary>
        /// 从his查询申请检查项目
        /// </summary>
        /// <param name="number">输入的编码</param>
        /// <param name="userData">过滤条件对象</param>
        /// <param name="deviceTypes">设备类型</param>
        /// <param name="funcSearchNumber">放回sql 条件语句的委托</param>
        /// <param name="actionAddConditions">用于定义额外条件的委托</param>
        /// <returns></returns>
        Task<List<HisExamApplyItemDto>> GetExamApplyItemsAsync(string? number,
                                                               Dictionary<string, object> userData,
                                                               List<string> deviceTypes,
                                                               Func<string>? funcSearchNumber,
                                                               Func<Dictionary<string, object>, string, string>? actionAddConditions);

        /// <summary>
        /// 查询his申请单中申请项目列表
        /// </summary>
        Task<List<HisExamApplyItemDto>> GetExamApplyItemsAsync(List<string>  numbers);
    }
}
   